<?php

App::import('Controller', 'Productos');
App::import('Controller', 'FacturasProductos');

class FacturasController extends AppController {    
    public $helpers = array('Html', 'Form');
    public $components = array('RequestHandler');
    public $name = 'Facturas';
    var $ProductosController;
    var $FacturasProductosController;
    
    public function index() {
        $this->set('facturas', $this->Factura->find('all'));
    }
        
    public function add() {
        if($this->request->is('post')) {   
            $this->RequestHandler->setContent('ajax');        
            $this->layout = 'ajax';
            
            if($this->Factura->save($this->data)) { //Guardar Factura
                $this->log('Ultimo id insertado: '.$this->Factura->getInsertID()); 
                $result =  'Factura registrada!';
                $this->set("result", $result);
            } else {
                $result =  'No se pudo registrar la factura.';
                $this->set("result", $result); 
            }                      
        } else {            
            $this->layout = "add_factura";
            $this->ProductosController = new ProductosController;
            $this->ProductosController->constructClasses();
            $this->FacturasProductosController = new FacturasProductosController;
            $this->FacturasProductosController->constructClasses();

            $this->set('productos', $this->ProductosController->Producto->find('list', array('fields' => 'Producto.nombre')));
        }        
    }
    
    public function addDetalle($factura_id, $producto_id, $precio, $cantidad) {
        if($this->request->is('post')) {                
            $this->FacturasProductosController = new FacturasProductosController;
            $this->FacturasProductosController->constructClasses();

            $rowInserted = $this->FacturasProductosController->FacturasProducto->save(array(
                'factura_id' => $factura_id,
                'producto_id' => $producto_id,
                'precio' => $precio,
                'cantidad' => $cantidad
                ));
        }        
    }
}

?>